<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <script th:src="@{/layui.js}" charset="utf-8"></script>
    <link rel="stylesheet"  th:href="@{/css/layui.css}" media="all">
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
</head>
<body>
<br>
<form class="layui-form" action="" id="searchForm">

    <div class="layui-form-item">
        <div class="layui-inline">
            <label class="layui-form-label">学生姓名</label>
            <div class="layui-input-inline">
                <input type="text" name="student_name" id="student_name"   autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">学生舞种</label>
            <div class="layui-input-inline">
                <select name="student_type" id="student_type">
                    <option value="">直接选择或搜索选择</option>
                    <option value="Urban基础班">Urban基础班</option>
                    <option value="Urban提高班">Urban提高班</option>
                    <option value="Urban进阶班">Urban进阶班</option>
                </select>

            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">学生性别</label>
            <div class="layui-input-inline">
                <input type="text" name="student_sex" id="student_sex"    autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">开卡时间</label>
            <div class="layui-input-inline">
                <input type="text" name="student_starttime" id="student_starttime" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-inline">
            <button type="button" onclick="doSearch();" class="layui-btn layui-btn-sm">Search</button>
            <button type="reset" class="layui-btn layui-btn-sm">reset</button>
        </div>
    </div>
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
        <button class="layui-btn layui-btn-sm" lay-event="add">增加</button>
    </div>
</script>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>



<!-- 注意：如果你直接复制所有代码到本地，上述js路径需要改成你本地的 -->

<script th:inline="none">
    var $,table;
    layui.use('table', function() {
        table = layui.table;
        $ = layui.jquery;
        //温馨提示：默认由前端自动合计当前行数据。从 layui 2.5.6 开始： 若接口直接返回了合计行数据，则优先读取接口合计行数据。
        //详见：https://www.layui.com/doc/modules/table.html#totalRow
        table.render({
            elem: '#test'
            , url: '/student/listJson'
            , toolbar: '#toolbarDemo'
            , title: '学生数据表'
            , totalRow: true
            , cols: [[
                {type: 'checkbox', fixed: 'left'}
                , {
                    field: 'id',
                    title: 'ID',
                    width: 120,
                    fixed: 'left',
                    unresize: true,
                    sort: true,
                    totalRowText: '合计'
                }
                , {field: 'student_name', title: '学生姓名', width: 120}
                , {field: 'student_type', title: '学生舞种', width: 120}
                , {field: 'student_danceage', title: '学生舞龄', width: 120}
                , {field: 'student_sex', title: '学生性别', width: 120}
                , {field: 'student_phone', title: '电话号码', width: 130}
                , {field: 'student_coursetime', title: '剩余课时', width: 120}
                , {field: 'student_money', title: '剩余金额', width: 120}
                , {field: 'student_starttime', title: '开卡日期', width: 200}
                , {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 200}
            ]]
            , page: true
            , limit: 12
            , limits: [15, 20, 25, 30]
            , id:'stuTable'

        });

        //工具栏事件
        table.on('toolbar(test)', function (obj) {
            var checkStatus = table.checkStatus(obj.config.id);
            switch (obj.event) {
                case 'getCheckData':
                    var data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                    break;
                case 'getCheckLength':
                    var data = checkStatus.data;
                    layer.msg('选中了：' + data.length + ' 个');
                    break;
                case 'isAll':
                    layer.msg(checkStatus.isAll ? '全选' : '未全选')
                    break;
                case 'add':
                    parent.layer.open({
                        type: 2,//2跳转到页面
                        offset: 'auto',
                        title: '增加课程订单',
                        content: '/student/add',
                        area: ['1200px', '600px'],
                        btn: '关闭全部',
                        btnAlign: 'c',
                        yes: function () {
                            parent.layer.closeAll();
                        }
                    });
                    break;
            }
            ;
        });
        //监听行双击事件
        table.on('rowDouble(test)', function (obj) {
            //obj 同上
            console.log(obj);
            var orderId = obj.data.order_id;
            console.log(orderId);
            parent.layer.open({
                type: 2,//2跳转到页面
                offset: 'auto',
                title: '课程订单详情',
                content: '/courseorder/detail?order_id=' + orderId,
                area: ['1000px', '500px'],
                btn: '关闭全部',
                btnAlign: 'c',
                yes: function () {
                    parent.layer.closeAll();
                }
            });
        });

        //监听工具条
        table.on('tool(test)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var id = obj.data.id; //获得
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
            if (layEvent === 'del') { //删除
                layer.confirm('真的删除行么', function (index) {
                    obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                    layer.close(index);
                    //向服务端发送删除指令,jqery.get
                    $.get("/student/delete", {id: id}, function (respData) {
                        console.log(respData);

                        if (respData.success == 1) {
                            layer.msg("删除成功");
                        } else {
                            layer.msg("删除失败" + respData.message);
                        }
                    })
                });
            } else if (layEvent === 'edit') { //编辑
                parent.layer.open({
                    type: 2,//2跳转到页面
                    offset: 'auto',
                    title: '【修改】课程订单',
                    content: '/student/edit?id=' + id,
                    area: ['1200px', '800px'],
                    btn: '关闭全部',
                    btnAlign: 'c',
                    yes: function () {
                        table.reload('stuTable', {
                            page: {
                                curr: 1 //重新从第 1 页开始
                            }
                        });
                        parent.layer.closeAll();
                    }
                });
            }
        });


    })

    function doSearch() {
        //通过jquery获取参数
        var student_name = $("#student_name").val();
        var student_type = $("#student_type").val();
        var student_sex = $("#student_sex").val();
        var student_starttime= $("#student_starttime").val();
        //table.reaload方法,附加上搜索条件
        table.reload('stuTable', {
            where: {//附加额外的参数
                student_name:student_name,
                student_type:student_type,
                student_sex:student_sex,
                student_starttime:student_starttime
            }
            ,page: {
                curr: 1 //重新从第 1 页开始
            }
        });

    }
</script>

</body>
</html>